package com.relytosoft.mizar.media.analyze.api.feign.face;

import com.relytosoft.dubhe.common.core.base.page.PageQuery;
import com.relytosoft.dubhe.common.core.object.ResponseResult;
import com.relytosoft.mizar.media.analyze.api.config.AnalyzeFeignInterceptor;
import com.relytosoft.mizar.media.analyze.api.pojo.dto.AyFaceTaskDto;
import com.relytosoft.mizar.media.analyze.api.pojo.dto.AyTaskIdDto;
import com.relytosoft.mizar.media.analyze.api.pojo.query.AyFaceTaskQuery;
import com.relytosoft.mizar.media.analyze.api.pojo.vo.AyFaceTaskVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * FaceFiegnService
 *
 * @Author zyc
 * @Date: 2022/5/24 10:51
 * @Version 1.0
 */
@FeignClient(url = "${relytosoft.mizar.analyze.openApiUrl}", name = "Media-Analyze-FaceTask",configuration = AnalyzeFeignInterceptor.class)
public interface AyFaceTaskFeignService {
    /**
     *创建人脸分析任务
     * @return
     */
    @PostMapping(value = "/api/stru/face/task/insert")
    ResponseResult<Void> insertAyFaceTask(@RequestBody String bodys);

    /**
     * 修改人脸分析任务
     * @return
     */
    @PutMapping(value = "/api/stru/face/task/update")
    ResponseResult<Void> updateAyFaceTask(@RequestBody String bodys);

    /**
     * 删除人脸分析任务
     */
    @PutMapping(value = "/api/stru/face/task/delete")
    ResponseResult<Void> deleteAyFaceTask(@RequestBody String bodys);

    /**
     * 查询人脸分析任务列表
     * @param
     * @return
     */
    @GetMapping(value = "/api/stru/face/task/list")
    ResponseResult<Map<String, Object>> listAyFaceTask(@RequestParam("queryBodys") String bodys, @RequestParam("pageQuery") String pageQuery);

    /**
     * 启动人脸分析任务
     * @param
     * @return
     */
    @PostMapping(value = "/api/stru/face/task/start")
    ResponseResult<Void> startAyFaceTask(@RequestBody String bodys);

    /**
     * 停止人脸分析任务
     * @param
     * @return
     */
    @PostMapping(value = "/api/stru/face/task/stop")
    ResponseResult<Void> stopAyFaceTask(@RequestBody String bodys);




}
